package com.maibow.entity.weixin;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Node;

/**
 * 
 * 脉博网络后台管理系统
 * 包名：com.maibow.entity.weixin
 * 文件名：WxQRCodeTrans.java
 * 作者: 吴比(Wubi)
 * 时间：2016年4月22日-下午2:37:05
 * Copyright@ 2016湖南脉博网络科技有限公司-版权所有
 *
 */
public class WxQRCodeTrans {

    public static WeixinInputMessage parseXML2WXQRCodePojo(String xml) {
        WeixinInputMessage res = new WeixinInputMessage();
        xml = xml.replaceAll("$", "");
        Document doc_notify_data = null;
        try {
            doc_notify_data = DocumentHelper.parseText(xml);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            return null;
            // e.printStackTrace();
        }

        Node node = doc_notify_data.selectSingleNode("xml");
        if (node.valueOf("ToUserName") != null && !node.valueOf("ToUserName").equals(""))
            res.setToUserName(node.selectSingleNode("ToUserName").getText());
        if (node.valueOf("FromUserName") != null && !node.valueOf("FromUserName").equals(""))
            res.setFromUserName(node.selectSingleNode("FromUserName").getText());
        if (node.valueOf("CreateTime") != null && !node.valueOf("CreateTime").equals(""))
            res.setCreateTime(Long.valueOf(node.selectSingleNode("CreateTime").getText()));
        if (node.valueOf("MsgType") != null && !node.valueOf("MsgType").equals(""))
            res.setMsgType(node.selectSingleNode("MsgType").getText());
        if (node.valueOf("Event") != null && !node.valueOf("Event").equals(""))
            res.setEvent(node.selectSingleNode("Event").getText());
        if (node.valueOf("EventKey") != null && !node.valueOf("EventKey").equals(""))
            res.setEventKey(node.selectSingleNode("EventKey").getText());
        if (node.valueOf("Ticket") != null && !node.valueOf("Ticket").equals(""))
            res.setTicket(node.selectSingleNode("Ticket").getText());

        return res;
    }

    /**
     * 
     * main(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param args
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public static void main(String args[]) {
        String s = "<xml><ToUserName><![CDATA[gh_45072270791c]]></ToUserName><FromUserName><![CDATA[o7Lp5t6n59DeX3U0C7Kric9qEx-Q]]></FromUserName><CreateTime>1389684286</CreateTime><MsgType><![CDATA[event]]></MsgType><Event><![CDATA[subscribe]]></Event><EventKey><![CDATA[qrscene_1000]]></EventKey><Ticket><![CDATA[gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3RklyRnNKbUFvAAIELdnUUgMEAAAAAA==]]></Ticket></xml>";
        WeixinInputMessage ss = parseXML2WXQRCodePojo(s);
        System.out.println(ss.getEvent() + " " + ss.getEventKey() + " " + ss.getToUserName());
    }

}
